package com.example.warehouse_manager.entity;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

/**
* 商品表
* @TableName product
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Product implements Serializable {

    /**
    *
    */
    @NotNull(message="[]不能为空")
    private Integer productId;
    /**
    *
    */
    private Integer storeId;
    /**
    *
    */
    private Integer brandId;
    /**
    *
    */
    @Size(max= 200,message="编码长度不能超过200")
    @Length(max= 200,message="编码长度不能超过200")
    private String productName;
    /**
    *
    */
    @Size(max= 50,message="编码长度不能超过50")
    @Length(max= 50,message="编码长度不能超过50")
    private String productNum;
    /**
    *
    */
    private Integer productInvent;
    /**
    *
    */
    private Integer typeId;
    /**
    *
    */
    private Integer supplyId;
    /**
    *
    */
    private Integer placeId;
    /**
    *
    */
    private Integer unitId;
    /**
    *
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @Length(max= -1,message="编码长度不能超过-1")
    private String introduce;
    /**
    * 0 下架 1 上架
    */
    private String upDownState;
    /**
    *
    */
    private BigDecimal inPrice;
    /**
    *
    */
    private BigDecimal salePrice;
    /**
    *
    */
    private BigDecimal memPrice;
    /**
    *
    */
    private Date createTime;
    /**
    *
    */
    private Date updateTime;
    /**
    *
    */
    private Integer createBy;
    /**
    *
    */
    private Integer updateBy;
    /**
    *
    */
    @Size(max= 500,message="编码长度不能超过500")
    @Length(max= 500,message="编码长度不能超过500")
    private String imgs;
    /**
    *
    */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date productDate;
    /**
    *
    */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date suppDate;

    //追加属性
    private String brandName;//品牌名称

    private String supplyName;//供应商名称

    private String placeName;//产地名

    private String typeName;//分类名称

    private Integer isOverDate;//是否过期

    private String storeName;//仓库名称

    private String unitName;//单位

}
